package com.heima.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.article.dtos.ApUserLoadDto;
import com.heima.model.article.dtos.ArticleCommentDto;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.dtos.ArticleHomeDto;
import com.heima.model.article.mess.ArticleVisitStreamMess;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.comment.dtos.ApCommentDto;
import com.heima.model.common.dtos.PageResponseResult;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.StatisticsDto;

import java.util.Date;

public interface ApArticleService extends IService<ApArticle> {
    //加载App文章列表
    ResponseResult load(ArticleHomeDto dto, Short type);


    /**
     * 加载文章首页
     * @param dto
     * @param type
     * @return
     */
    ResponseResult loadFirst(ArticleHomeDto dto, Short type);

    /**
     * app端保存文章
     * @param dto
     * @return
     */
    ResponseResult saveArticle(ArticleDto dto) ;

    /**
     * 用户行为数据回显
     * @param dto
     * @return
     */
    ResponseResult ApUserLoad(ApUserLoadDto dto);

    /**
     * kafkaStream流 : 实时更新数据
     * @param articleVisitStreamMess
     */
    void updateScore(ArticleVisitStreamMess articleVisitStreamMess);

    /**
     * 图文统计统计
     * @param wmUserId
     * @param beginDate
     * @param endDate
     * @return
     */
    ResponseResult queryLikesAndConllections(Integer wmUserId, Date beginDate, Date endDate);

    PageResponseResult newPage(StatisticsDto dto);

    /**
     * 查询文章评论统计
     * @param dto
     * @return
     */
    PageResponseResult findNewsComments(ArticleCommentDto dto);

    /**
     * 删除评论数,点赞数
     * @param dto
     * @return
     */
    ResponseResult delChannelState(ApCommentDto dto);

    /**
     * 保存文章评论数
     * @param entryId
     */
    ResponseResult updateComment(Long entryId);
}
